【コマンドライン】別ユーザーログイン・切り替え [ su ]

【コマンドライン】別ユーザーログイン・切り替え [ su ]

コマンドラインで別ユーザーにログイン・切り替えるsuコマンドについて解説します。

検証環境

suコマンド

suコマンドは“別ユーザーにログイン・切り替えるコマンド”です。

基本書式

$ su [オプション] [ユーザー]

オプション

主なオプションは次の通りです。

オプション 内容
- 実際のログインと同様の環境でシェルをログインシェルとして起動。
-c コマンド ログインしてコマンドを実行

引数

ユーザー

ユーザーはログインするユーザーです。

サンプル

一般ユーザー

___ih_hl_start
[hacker]$ su guest
___ih_hl_end
パスワード:
[guest]$

スーパーユーザー

ユーザー名を省略するとスーパーユーザーのログインになります。

___ih_hl_start
[hacker]$ su
___ih_hl_end
パスワード:
[root]#

ログインシェルの利用

-オプションを付与すると、ログインシェルを利用し、カレントディレクトリがホームディレクトリに切り替わります。

___ih_hl_start
[hacker]$ su - guest
___ih_hl_end
パスワード:
[guest]#

ログイン&コマンド実行

___ih_hl_start
[hacker]$ su -c "ls -l" guest
___ih_hl_end
パスワード:
-rwx------ 1 root     hacker   35 12月 16 16:22 test
[hacker]$ 

ログアウト

ログアウト(終了)はexitコマンドを使用します。

___ih_hl_start
[guest]$ exit
___ih_hl_end
[hacker]$ 

セキュリティ

スーパーユーザーや別ユーザーの切り替えは、操作ミスや悪意あるユーザーに利用されるとデータの破損や漏洩等の危険があります。

そのため、suコマンドを実行できるユーザーを制限するなどのセキュリティ設定を行うことを推奨します。

マニュアル

コマンドの仕様(主な処理やオプション・引数など)は環境により異なる場合がございます。

利用環境での仕様は『コマンドのマニュアルを表示する』manコマンド等で確認しましょう。